In recent years, a market in which high-quality contents (for example, video data) are delivered to mobile terminals with extensive spread of mobile terminals (for example, mobile phones) and acceleration of network lines has been expanded. In the delivery of such contents, there are some cases where a packet loss or a reception error occurs due to a change (for example, presence of noise) of a surrounding communication environment during the delivery of the contents.
In an application (for example, application for data streaming) requiring real-time capabilities, if the Transmission Control Protocol (TCP) that allows Automatic Repeat Request (ARQ) at Layer 4 (transport layer) of the Open Systems Interconnection (OSI) reference model is used, since a delay time becomes long, TCP is not suitable, and thus, there are many cases where the User Datagram Protocol (UDP) is used. However, even though the packet loss or the reception error occurs, since UDP does not allow the re-transmission of packets, the quality of video data is easily deteriorated in packet communication in a network line such as a wireless line having a high line error rate. There are some cases where since packets are discarded in the middle of a transmission path due to congestion even in a wired line, the packets do not reach a receiving side, and the quality of the video data is similarly deteriorated.
Thus, since the contents are restored on the receiving side, an application layer forward error correction (FEC) technology for performing error correction coding on data of the content at Layer 7 (application layer) of the OSI reference model has been known (see, for example, NPL 1). The application layer FEC technology is a technology for restoring the contents without re-transmitting packets by previously coding the data of the content to generate the packets at the application layer on a transmitting side and decoding the packets on the receiving side. In NPL 1, DF raptor codes are used as an example of the application layer FEC technology.